<?php

/**
 * Description of RepoTipoFactura
 *
 * @author  Mariano Renkine
 * @author  Fernando Arau
 */
class RepoTipoFactura extends Repositorio
{
    function __construct()
  {
    $this->tabla = "tipo_factura";
    $this->id = "idTipoFactura";
  }
   function agregar(TipoFactura $tipoFactura)
  {
    try
    {

      $link = $this->OpenDB();
      $this->beginTransaction();
      $query = "INSERT INTO " . $this->tabla . "(nombre, deshabilitado) values (";
      $query .= "'" . $tipoFactura->getNombre() . "', ";
      $query .= $tipoFactura->getDeshabilitado() . ")";
      $result = $this->PostSQL($query);
      $this->commitTransaction();
      $this->CloseDB($link);
      return $result;
    } catch (Exception $ex)
    {
      return $ex;
    }
  }

  function modificar(TipoFactura $tipoFactura)
  {
    try
    {
      $link = $this->OpenDB();
      $this->beginTransaction();
      $query = "UPDATE " . $this->tabla . " SET ";
      $query .= "nombre = '" . $tipoFactura->getNombre() . "', ";
      $query .= "deshabilitado = " . $tipoFactura->getDeshabilitado() . ", ";
      $query .= "WHERE " . $this->id . " = " . $tipoFactura->getId();
      $result = $this->PostSQL($query);
      $this->commitTransaction();
      $this->CloseDB($link);
      return $result;
    } catch (Exception $ex)
    {
      return $ex;
    }
  }
  
  function buscar($id)
  {
    $link = $this->OpenDB();
    $queryTxt = "SELECT  nombre, codigo
      FROM " . $this->tabla . " WHERE " . $this->id . " = " . $id;
    $query = $this->GetSQL($queryTxt);
    $tipoFactura = new TipoFactura();
    $tipoFactura->setId($id);
    $tipoFactura->setNombre($query[0]->nombre);
    $tipoFactura->setCodigo($query[0]->codigo);
    $this->CloseDB($link);
    return $tipoFactura;
  }
  function buscarPorLetra($letra)
  {
    $link = $this->OpenDB();
    $queryTxt = "SELECT  nombre, codigo, ".$this->id."
      FROM " . $this->tabla . " WHERE codigo = '" . $letra."'";
    $query = $this->GetSQL($queryTxt);
    $tipoFactura = new TipoFactura();
    $tipoFactura->setId($query[0]->idTipoFactura);
    $tipoFactura->setNombre($query[0]->nombre);
    $tipoFactura->setCodigo($query[0]->codigo);
    $this->CloseDB($link);
    return $tipoFactura;
  }
}

?>
